﻿Imports System.Data
Imports System.Data.SqlClient
Imports BEGestionProyecto
Imports DLGestionProyecto

Public Class BLGPProyecto
#Region "CONSULTAR"
    '*********************************************************
    'Funcion que Lista los Proyectos
    'fecha crea         fecha modifica         autor
    '01/02/2012         01/02/2012              JKP
    '*********************************************************
    Public Function fuBLListarProyecto() As DataTable
        Try
            Dim lDt As New DataTable
            Dim lBL As New DLGestionProyecto.DLGPProyecto
            lDt = lBL.fuDLListarProyecto()
            Return lDt
        Catch ex As Exception
            Return Nothing
            Throw New ArgumentException("Origen : fuBLListarProyecto " & vbCrLf & _
                                        "Descripcion : " & ex.Message)
        End Try
    End Function
    '*********************************************************
    'Funcion que Busca por codigo y Obtiene un Proyecto 
    'fecha crea         fecha modifica         autor
    '01/02/2012         01/02/2012              JKP
    '*********************************************************
    Public Function fuBLBuscarProyectox(ByVal psPrycodProyecto As String) As DataTable
        Try
            Dim lDt As New DataTable
            Dim lBL As New DLGestionProyecto.DLGPProyecto
            lDt = lBL.fuDLBuscarProyectox(psPrycodProyecto)
            Return lDt
        Catch ex As Exception
            Return Nothing
            Throw New ArgumentException("Origen : fuBLBuscarProyectox " & vbCrLf & _
                                        "Descripcion : " & ex.Message)
        End Try
    End Function

    '*********************************************************
    'Funcion que Lista los grupos de trabajo de los proyectos
    'fecha crea         fecha modifica         autor
    '01/02/2012         01/02/2012              JKP
    '*********************************************************
    Public Function fuBLListarGrupoTrabajo(ByVal psPrycodProyecto As String) As DataTable
        Try
            Dim lDt As New DataTable
            Dim lBL As New DLGestionProyecto.DLGPProyecto
            lDt = lBL.fuDLListarGrupoTrabajo(psprycodProyecto)
            Return lDt
        Catch ex As Exception
            Return Nothing
            Throw New ArgumentException("Origen : fuBLListarGrupoTrabajo " & vbCrLf & _
                                        "Descripcion : " & ex.Message)
        End Try
    End Function
    '*********************************************************
    'Funcion que Lista 
    'fecha crea         fecha modifica         autor
    '01/02/2012         01/02/2012              JKP
    '*********************************************************
    Public Function fuBLListarPersonalASeleccionar(ByVal pfPryfecInicioProy As DateTime, ByVal pfPryfecFinProy As DateTime, _
                                             ByVal psPercodCategoria As String) As DataTable
        Try
            Dim lDt As New DataTable
            Dim lBL As New DLGestionProyecto.DLGPProyecto
            lDt = lBL.fuDLListarPersonalASeleccionar(pfPryfecInicioProy, pfpryfecFinProy, psPercodCategoria)
            Return lDt
        Catch ex As Exception
            Return Nothing
            Throw New ArgumentException("Origen : fuBLListarPersonalASeleccionar " & vbCrLf & _
                                        "Descripcion : " & ex.Message)
        End Try
    End Function
    '*********************************************************
    'Funcion que Lista 
    'fecha crea         fecha modifica         autor
    '01/02/2012         01/02/2012              JKP
    '*********************************************************

    Public Function fuBLListarRequerimientoPersonal(ByVal psPrycodProyecto As String) As DataTable
        Try
            Dim lDt As New DataTable
            Dim lBL As New DLGestionProyecto.DLGPProyecto
            lDt = lBL.fuDLListarRequerimientoPersonal(psPrycodProyecto)
            Return lDt
        Catch ex As Exception
            Return Nothing
            Throw New ArgumentException("Origen : fuBLListarRequerimientoPersonal " & vbCrLf & _
                                        "Descripcion : " & ex.Message)
        End Try
    End Function
    '*********************************************************
    'Funcion que Lista
    'fecha crea         fecha modifica         autor
    '01/02/2012         01/02/2012              JKP
    '*********************************************************
    Public Function fuBLListarActividadesprogramPersonal(ByVal psPvacodPersona As String) As DataTable
        Try
            Dim lDt As New DataTable
            Dim lBL As New DLGestionProyecto.DLGPProyecto
            lDt = lBL.fuDLListarActividadesprogramPersonal(pspvacodPersona)
            Return lDt
        Catch ex As Exception
            Return Nothing
            Throw New ArgumentException("Origen : fuBLListarActividadesprogramPersonal " & vbCrLf & _
                                        "Descripcion : " & ex.Message)
        End Try
    End Function
    '*********************************************************
    'Funcion que Lista
    'fecha crea         fecha modifica         autor
    '01/02/2012         01/02/2012              JKP
    '*********************************************************

    Public Function fuBLListarGrupoTrabajoconCantidadFaltante(ByVal psPrycodProyecto As String, ByVal psreqcodCategoria As String) As DataTable
        Try
            Dim lDt As New DataTable
            Dim lBL As New DLGestionProyecto.DLGPProyecto
            lDt = lBL.fuDLListarGrupoTrabajoconCantidadFaltante(psprycodProyecto, psreqcodCategoria)
            Return lDt
        Catch ex As Exception
            Return Nothing
            Throw New ArgumentException("Origen : fuBLListarGrupoTrabajoconCantidadFaltante " & vbCrLf & _
                                        "Descripcion : " & ex.Message)
        End Try
    End Function
#End Region
#Region "ACTUALIZAR"
    '*********************************************************
    'Funcion que Agrega Proyectos
    'fecha crea         fecha modifica         autor
    '01/02/2012         01/02/2012              JKP
    '*********************************************************
    Public Function fuBLInsertarProyecto(ByVal pBE As BEGPProyecto) As Boolean
        Try

            Dim lBL As New DLGestionProyecto.DLGPProyecto
            If lBL.fuDLInsertarProyecto(pBE) Then
                Return True
            End If
        Catch ex As Exception
            Return False
            Throw New ArgumentException("Origen : fuBLInsertarProyecto " & vbCrLf & _
                                        "Descripcion : " & ex.Message)

        End Try
    End Function

    '*********************************************************
    'Funcion que Actualiza Proyectos
    'fecha crea         fecha modifica         autor
    '01/02/2012         01/02/2012              JKP
    '*********************************************************

    Public Function fuBLActualizarProyecto(ByVal pBE As BEGPProyecto) As Boolean
        Try

            Dim lBL As New DLGestionProyecto.DLGPProyecto
            If lBL.fuDLActualizarProyecto(pBE) Then
                Return True
            End If
        Catch ex As Exception
            Return False
            Throw New ArgumentException("Origen : fuBLActualizarProyecto " & vbCrLf & _
                                        "Descripcion : " & ex.Message)

        End Try
    End Function
    '*********************************************************
    'Funcion que Elimina Proyectos
    'fecha crea         fecha modifica         autor
    '01/02/2012         01/02/2012              JKP
    '*********************************************************

    Public Function poBLEliminarPersonalAsignado(ByVal psPersonaID As String) As Boolean
        Try

            Dim lBL As New DLGestionProyecto.DLGPProyecto
            If lBL.fuDLEliminarPersonalAsignado(psPersonaID) Then
                Return True
            End If
        Catch ex As Exception
            Return False
            Throw New ArgumentException("Origen : poBLEliminarPersonalAsignado " & vbCrLf & _
                                        "Descripcion : " & ex.Message)

        End Try
    End Function
    '*********************************************************
    'Funcion que Agrega Personal al proyecto
    'fecha crea         fecha modifica         autor
    '01/02/2012         01/02/2012              JKP
    '*********************************************************

    Public Function fuBLInsertarProyectoAsignacion(ByVal psProyectoid As String, ByVal piPersonaid As Int16) As Boolean
        Try

            Dim lBL As New DLGestionProyecto.DLGPProyecto
            If lBL.fuDLInsertarProyectoAsignacion(psProyectoid, piPersonaid) Then
                Return True
            End If
        Catch ex As Exception
            Return False
            Throw New ArgumentException("Origen : fuBLInsertarProyectoAsignacion " & vbCrLf & _
                                        "Descripcion : " & ex.Message)

        End Try
    End Function
#End Region
End Class
